/*
 * UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
 * CENTRO DE ENGENHARIA ELETRICA E COMPUTACAO
 * DEPARTAMENTO DE SISTEMAS E COMPUTACAO
 * 
 * EQUIPE:
 * Francisco Gomes de Oliveira Neto
 * Magno Jefferson de Souza Queiroz
 * 
 * Projeto de Software Orientado a Objeto
 */
package util;

import util.Data;

import exceptions.AtributoInvalidoException;
import exceptions.MyMoneyException;

public class DadosUtil {
	@SuppressWarnings("deprecation")
		
//	public static Data obtemData(String data) throws MyMoneyException{
//		Data aData = new Data(); 
//		
//		try {
//			int dia = new Integer ((String) data.subSequence(0, 2));
//			int mes = new Integer ((String) data.subSequence(3, 5));
//			int ano = new Integer ((String) data.subSequence(6, 10));
//			
//			if ( (mes == 2) && (dia > 28)){
//				throw new AtributoInvalidoException(DefaultMessages.INV_DATA_MSG);
//			}
//			
//			if ( (dia < 32 && dia >= 0) &&
//					(mes > 0 && mes < 13) && ano > 0 ){
//				aData.setDia(dia);
//				aData.setMes(mes);
//				aData.setAno(ano);
//			} else {
//				throw new AtributoInvalidoException(DefaultMessages.INV_DATA_MSG);
//			}
//			
//		} catch (Exception e) {
//			throw new AtributoInvalidoException(DefaultMessages.INV_DATA_MSG);
//		}
//		
//		return aData;
//	}

	public static double converteValor(String valor) throws MyMoneyException {
		try{
			//Padroes que sao lidos no boleto
			final String SEP_DECIMAL = ",";
			final String SEP_MILHARES = ".";
			
			//Possui mais de uma virgula.
			if(valor.split(",").length > 2){
				throw new AtributoInvalidoException(DefaultMessages.INV_VALOR_MSG);
			}
			
			if(valor.contains(SEP_MILHARES)){
				valor = valor.replace(SEP_MILHARES, "");
			}			
			if(valor.contains(SEP_DECIMAL)){				
				valor = valor.replace(SEP_DECIMAL, ".");
			}
			return Double.valueOf(valor);

		}catch(NumberFormatException exception){
			throw new AtributoInvalidoException(DefaultMessages.INV_VALOR_MSG);
		}		
	}
}
